package com.shenghui.enterprise.base.service;
import com.shenghui.enterprise.base.entity.BaseModule;
import com.shenghui.enterprise.vo.Result;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/**
 * @Description: 模块业务逻辑接口
 * @Author houjh
 * @Email: happyxiaohou@gmail.com
 * @Date: 2020-05-29
 * @Copyright (c) 2020-2022 云南昇晖科技有限公司
 */

public interface IBaseModuleService extends IService<BaseModule> {
    /**
     * 查询树形列表
     * @param map
     * @return
     */
    Object getBaseModuleTreeList(Map map);

    /**
     * 删除模块信息
     * @param id
     * @return
     */
    Result deleteBaseModule(String id);

    /**
     * 修改模块排序值
     * @param
     * @return
     */
    Object updateBaseModuleOrder(String id, Integer orderValue);

    /**
     * 添加模块信息
     * @return
     */
    Result addBaseModule(BaseModule module, String id);

    /**
     * 通过id查询模块信息
     * @param id
     * @return
     */
    Map<String,Object> getBaseModuleById(String id);
    /**
     * 获取顶级模块信息
     * @param map
     * @param request
     * @param response
     * @return
     */
    Object topModule(Map map, HttpServletRequest request, HttpServletResponse response);

    /**
     * 获取子集模块
     * @param parentId
     * @param request
     * @param response
     * @return
     */
    Object childsModule(String parentId, HttpServletRequest request, HttpServletResponse response);
}
